其他
新的边缘架构兴起,Serverless 的发展方向在哪?
【编者按】逻辑和数据的自动分布将为终端用户带来最小的延迟,而无需为开发人员担心维护、扩展或配置问题。
分层架构
基础设施即服务(IaaS)
平台即服务(PaaS)
软件即服务(SaaS)
容器即服务(CaaS)
Serverless 架构
函数即服务 (FaaS)
粒度: PaaS 应用程序通常只能扩展到每个应用程序,而基于 CaaS 构建的应用程序只能扩展到每个容器。Faas 应用程序被分解为独立的函数,因此是函数级别的粒度。缺点是,它通常需要你重新思考应用程序的体系结构。与管理一个应用程序或几个容器不同,许多执行较小任务的函数必须被管理,这会引入大量编排工作。 配置: 你通常会配置何时进行伸缩 (触发器进行伸缩) 或手动设置需要运行的应用程序或容器的实例数量,FaaS 就不需要你配置伸缩或提供特定的资源。 现收现付:与部署容器(CaaS)不同,方法只在被调用时产生费用。这种现收现付的定价模式正逐渐成为 serverless定义的最重要方面 限制: 在一个典型的应用程序中,你可以为代码设定内存限制或执行时间限制。尽管 FaaS 提供程序允许你配置这些资源,但是有一些会设置一些上限来确保提供程序能够有效地优化这些资源。可以想象,如果一个服务提供商可以用10GB 的内存创建函数,或者一个函数要运行几个小时,那么他们就很难估计需要多少服务器才能最大限度地利用其资源。
一个新的边缘架构
分布逻辑: 除非您将函数或容器部署到不同的区域,并自己将客户机路由到最接近的方法,否则方法通常会保留在一个数据中心中。 分布动态数据: 分布逻辑而不分布数据不会获得巨大的回报,因为延迟刚刚移动到不同的位置。你的用户可能更接近后端,但是你的后端仍然远离数据层。 成本、配置、监视: 很少看到一个应用程序分布到两个或三个以上的区域,因为这样做通常会带来额外的成本或配置,并要求您监视多个区域的功能或容器。